01
右值引用基础
左值与右值的定义 · 右值引用语法 · 移动语义动机与核心思想
概念入门
02
移动构造函数
深拷贝与浅拷贝 · 移动构造定义实现 · 调用时机
核心实现
03
移动赋值运算符
定义与拷贝赋值区别 · 自赋值检测 · 资源处理
运算符安全
04
std::move 详解
本质强制类型转换 · 使用场景与注意事项 · 常见误用
工具陷阱
05
完美转发
万能引用(转发引用) · 引用折叠规则 · std::forward原理
模板泛型
06
返回值优化 (RVO/NRVO)
编译器优化原理 · 移动语义与RVO协作 · 何时依赖移动
优化编译器
07
移动语义与异常安全
noexcept规范 · 强异常安全保证 · 实现策略
异常安全
08
移动语义在标准库中的应用
vector移动插入 · unique_ptr移动 · thread移动
STL实践
09
自定义类型的移动语义
实现移动操作 · Rule of Five · Pimpl与移动
设计惯用法
10
移动语义与智能指针
unique_ptr独占所有权 · shared_ptr引用计数 · 循环引用
智能指针所有权
11
移动语义与容器
vector移动插入扩容 · map移动节点 · string的COW与移动
容器性能
12
移动语义与多线程
线程间传递所有权 · std::async与移动 · 线程安全
并发所有权
13
移动语义与异常
移动操作异常处理 · std::move_if_noexcept · 异常安全容器
异常安全
14
移动语义与继承
基类派生类移动操作 · 虚析构与移动 · 多态对象移动
OOP多态
15
移动语义与资源管理
RAII与移动结合 · 移动后对象状态 · 资源所有权转移
RAII资源
16
移动语义与性能分析
移动vs拷贝基准测试 · 移动开销分析 · 何时移动不快
性能基准
17
移动语义与编译器优化
复制省略(Copy Elision) · 保证复制省略(C++17) · 交互
编译器优化
18
移动语义与左值引用
左值/右值引用重载决议 · const引用交互 · 引用限定符
重载引用
19
移动语义与函数重载
移动感知重载设计 · 按值vs按引用 · 完美转发结合
设计重载
20
移动语义与 lambda
lambda捕获移动 · mutable lambda · 泛型lambda转发
lambda捕获
21
移动语义与模板
模板中移动 · decltype(auto) · 模板元编程移动优化
模板元编程
22
移动语义与 STL 算法
移动迭代器 · std::move算法 · 移动与排序
算法迭代器
23
移动语义与自定义分配器
移动感知分配器 · 有状态分配器移动 · 分配器交互
分配器内存
24
移动语义与异常安全容器
vector强异常安全 · 移动与容器异常安全 · deque移动
容器异常
25
移动语义与字符串
string SSO与移动 · COW实现冲突 · string_view与移动
字符串优化
26
移动语义与文件流
fstream移动语义 · 文件句柄所有权转移 · 缓冲区处理
IO文件
27
移动语义与网络编程
socket移动封装 · 连接对象移动 · 异步I/O结合
网络异步
28
移动语义与数据库连接
连接池移动语义 · 连接对象移动 · 事务交互
数据库连接池
29
移动语义与游戏开发
游戏对象管理 · 组件系统移动优化 · 内存池结合
游戏组件
30
移动语义最佳实践
设计原则 · 常见陷阱与避坑 · 大型项目策略
总结进阶